﻿ 
 
 
 
 
 
 
   
            

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
namespace WayneGameSolution.Packs
{
		


		/// <summary>
		///心跳包:0
		/// </summary>
		[DataContract ][Serializable][PackFlag ("HeartBeat",0)]
		public partial   class Pack_HeartBeat:  Packs.DataPack,IPackNode  
		{
			[Microsoft.Practices.Unity.InjectionConstructor() ]public  Pack_HeartBeat  ():base(0)  {}
			public  System.String  NodeValue  ;
			public  String NodeName  {get {return "HeartBeat";}}
			object IPackNode.NodeValue { get { return (Object)NodeValue; } set { NodeValue = (System.String)value; } }  
			public override IPackNode DataRoot { get{return (IPackNode)this;}  }


			///<summary>
			///节点属性序反列化 
			///</summary>
			public override void  SetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				NodeValue= (System.String) info.GetValue ("NodeValue",typeof(System.String) ) ;
			} 

			///<summary>
			///节点属性序列化 
			///</summary>
			public override void  GetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				info.AddValue("NodeValue", NodeValue); 
			}




			///<summary>
			///节点属性 前面不需要加 P_
			///</summary>
			public object this[string AttributeName] 
			{ 
			get{ 
				return null;
				}
			}

			
			static readonly String[] _PropertyNames=new String[] { };

			///<summary>
			///属性名列表
			///</summary>
			public string[] PropertyNames {get {return _PropertyNames; }} 

		}

		


		/// <summary>
		///失败包:-1
		/// </summary>
		[DataContract ][Serializable][PackFlag ("Error",-1)]
		public partial   class Pack_Error:  Packs.DataPack,IPackNode  
		{
			[Microsoft.Practices.Unity.InjectionConstructor() ]public  Pack_Error  ():base(-1)  {}
			public  System.String  NodeValue  ;
			public  String NodeName  {get {return "Error";}}
			object IPackNode.NodeValue { get { return (Object)NodeValue; } set { NodeValue = (System.String)value; } }  
			public override IPackNode DataRoot { get{return (IPackNode)this;}  }


			///<summary>
			///节点属性序反列化 
			///</summary>
			public override void  SetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				P_UID= (System.String) info.GetValue ("UID",typeof(System.String) ) ;
				P_PWD= (System.String) info.GetValue ("PWD",typeof(System.String) ) ;
				NodeValue= (System.String) info.GetValue ("NodeValue",typeof(System.String) ) ;
			} 

			///<summary>
			///节点属性序列化 
			///</summary>
			public override void  GetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				info.AddValue("UID", P_UID); 
				info.AddValue("PWD", P_PWD); 
				info.AddValue("NodeValue", NodeValue); 
			}



			///<summary>
			///用户名
			///</summary>
			[DataMember ]public  System.String  P_UID  ;

			///<summary>
			///密码
			///</summary>
			[DataMember ]public  System.String  P_PWD  ;


			///<summary>
			///节点属性 前面不需要加 P_
			///</summary>
			public object this[string AttributeName] 
			{ 
			get{ 
				if (AttributeName=="UID") return P_UID ; 
				if (AttributeName=="PWD") return P_PWD ; 
				return null;
				}
			}

			
			static readonly String[] _PropertyNames=new String[] { "UID","PWD"};

			///<summary>
			///属性名列表
			///</summary>
			public string[] PropertyNames {get {return _PropertyNames; }} 

		}

		


		/// <summary>
		///上行登陆包:1000
		/// </summary>
		[DataContract ][Serializable][PackFlag ("LoginUp",1000)]
		public partial   class Pack_LoginUp:  Packs.DataPack,IPackNode  
		{
			[Microsoft.Practices.Unity.InjectionConstructor() ]public  Pack_LoginUp  ():base(1000)  {}
			public  System.String  NodeValue  ;
			public  String NodeName  {get {return "LoginUp";}}
			object IPackNode.NodeValue { get { return (Object)NodeValue; } set { NodeValue = (System.String)value; } }  
			public override IPackNode DataRoot { get{return (IPackNode)this;}  }


			///<summary>
			///节点属性序反列化 
			///</summary>
			public override void  SetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				P_UID= (System.String) info.GetValue ("UID",typeof(System.String) ) ;
				P_PWD= (System.String) info.GetValue ("PWD",typeof(System.String) ) ;
				NodeValue= (System.String) info.GetValue ("NodeValue",typeof(System.String) ) ;
			} 

			///<summary>
			///节点属性序列化 
			///</summary>
			public override void  GetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				info.AddValue("UID", P_UID); 
				info.AddValue("PWD", P_PWD); 
				info.AddValue("NodeValue", NodeValue); 
			}



			///<summary>
			///用户名
			///</summary>
			[DataMember ]public  System.String  P_UID  ;

			///<summary>
			///密码
			///</summary>
			[DataMember ]public  System.String  P_PWD  ;


			///<summary>
			///节点属性 前面不需要加 P_
			///</summary>
			public object this[string AttributeName] 
			{ 
			get{ 
				if (AttributeName=="UID") return P_UID ; 
				if (AttributeName=="PWD") return P_PWD ; 
				return null;
				}
			}

			
			static readonly String[] _PropertyNames=new String[] { "UID","PWD"};

			///<summary>
			///属性名列表
			///</summary>
			public string[] PropertyNames {get {return _PropertyNames; }} 

		}

		


		/// <summary>
		///下行登陆包:1001
		/// </summary>
		[DataContract ][Serializable][PackFlag ("LoginDown",1001)]
		public partial   class Pack_LoginDown:  Packs.DataPack,IPackNode  
		{
			[Microsoft.Practices.Unity.InjectionConstructor() ]public  Pack_LoginDown  ():base(1001)  {}
			public  System.String  NodeValue  ;
			public  String NodeName  {get {return "LoginDown";}}
			object IPackNode.NodeValue { get { return (Object)NodeValue; } set { NodeValue = (System.String)value; } }  
			public override IPackNode DataRoot { get{return (IPackNode)this;}  }


			///<summary>
			///节点属性序反列化 
			///</summary>
			public override void  SetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				P_UID= (System.String) info.GetValue ("UID",typeof(System.String) ) ;
				NodeValue= (System.String) info.GetValue ("NodeValue",typeof(System.String) ) ;
			} 

			///<summary>
			///节点属性序列化 
			///</summary>
			public override void  GetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				info.AddValue("UID", P_UID); 
				info.AddValue("NodeValue", NodeValue); 
			}



			///<summary>
			///用户名
			///</summary>
			[DataMember ]public  System.String  P_UID  ;


			///<summary>
			///节点属性 前面不需要加 P_
			///</summary>
			public object this[string AttributeName] 
			{ 
			get{ 
				if (AttributeName=="UID") return P_UID ; 
				return null;
				}
			}

			
			static readonly String[] _PropertyNames=new String[] { "UID"};

			///<summary>
			///属性名列表
			///</summary>
			public string[] PropertyNames {get {return _PropertyNames; }} 

		}

		[KnownType (typeof (Pack_ChatMessage))][KnownType (typeof (Pack_ChatMessage.SubChild))]
		[DataContract ][Serializable][PackFlag ("ChatMessage",3000)]
		public partial   class Pack_ChatMessage:  Packs.DataPack,IPackNode  
		{
			[Microsoft.Practices.Unity.InjectionConstructor() ]public  Pack_ChatMessage  ():base(3000)  {}
			public  System.String  NodeValue  ;
			public  String NodeName  {get {return "ChatMessage";}}
			object IPackNode.NodeValue { get { return (Object)NodeValue; } set { NodeValue = (System.String)value; } }  
			public override IPackNode DataRoot { get{return (IPackNode)this;}  }

			[DataContract ][Serializable]
			public partial   struct  SubChild :IPackNode 
			{
								public  System.String  NodeValue  ;
				public  String NodeName  {get {return "SubChild";}}
				object IPackNode.NodeValue { get { return (Object)NodeValue; } set { NodeValue = (System.String)value; } }  
				[DataMember ]public  System.String  P_ChatToUserID1  ;

				[DataMember ]public  Sub2  P_ChatToUserID2  ;


				///<summary>
				///节点属性 前面不需要加 P_
				///</summary>
				public object this[string AttributeName] 
				{ 
				get{ 
					if (AttributeName=="ChatToUserID1") return P_ChatToUserID1 ; 
					if (AttributeName=="ChatToUserID2") return P_ChatToUserID2 ; 
					return null;
					}
				}

				
				static readonly String[] _PropertyNames=new String[] { "ChatToUserID1","ChatToUserID2"};



				///<summary>
				///节点属性序反列化 
				///</summary>
				public  void  SetObjectData(SerializationInfo info, StreamingContext context) 
				{ 
					P_ChatToUserID1= (System.String) info.GetValue ("ChatToUserID1",typeof(System.String) ) ;
					P_ChatToUserID2= (Sub2) info.GetValue ("ChatToUserID2",typeof(Sub2) ) ;
					NodeValue= (System.String) info.GetValue ("NodeValue",typeof(System.String) ) ;
				} 

				///<summary>
				///节点属性序列化 
				///</summary>
				public  void  GetObjectData(SerializationInfo info, StreamingContext context) 
				{ 
					info.AddValue("ChatToUserID1", P_ChatToUserID1); 
					info.AddValue("ChatToUserID2", P_ChatToUserID2); 
					info.AddValue("NodeValue", NodeValue); 
				}


				///<summary>
				///属性名列表
				///</summary>
				public string[] PropertyNames {get {return _PropertyNames; }} 


				///<summary>
				///test2
				///</summary>
				[DataContract ][Serializable]
				public partial   struct  Sub2 :IPackNode 
				{
										public  String  NodeValue  ;
					public  String NodeName  {get {return "Sub2";}}
					object IPackNode.NodeValue { get { return (Object)NodeValue; } set { NodeValue = (String)value; } }  

					///<summary>
					///节点属性 前面不需要加 P_
					///</summary>
					public object this[string AttributeName] 
					{ 
					get{ 
						return null;
						}
					}

					
					static readonly String[] _PropertyNames=new String[] { };



					///<summary>
					///节点属性序反列化 
					///</summary>
					public  void  SetObjectData(SerializationInfo info, StreamingContext context) 
					{ 
						NodeValue= (System.String) info.GetValue ("NodeValue",typeof(System.String) ) ;
					} 

					///<summary>
					///节点属性序列化 
					///</summary>
					public  void  GetObjectData(SerializationInfo info, StreamingContext context) 
					{ 
						info.AddValue("NodeValue", NodeValue); 
					}


					///<summary>
					///属性名列表
					///</summary>
					public string[] PropertyNames {get {return _PropertyNames; }} 
				}

			}



			///<summary>
			///节点属性序反列化 
			///</summary>
			public override void  SetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				P_ChatToUserID= (System.String) info.GetValue ("ChatToUserID",typeof(System.String) ) ;
				P_Message= (System.String) info.GetValue ("Message",typeof(System.String) ) ;
				P_Chats= (List<int>) info.GetValue ("Chats",typeof(List<int>) ) ;
				P_ToChannelId= (System.String) info.GetValue ("ToChannelId",typeof(System.String) ) ;
				P_SubChild1= (SubChild) info.GetValue ("SubChild1",typeof(SubChild) ) ;
				NodeValue= (System.String) info.GetValue ("NodeValue",typeof(System.String) ) ;
			} 

			///<summary>
			///节点属性序列化 
			///</summary>
			public override void  GetObjectData(SerializationInfo info, StreamingContext context) 
			{ 
				info.AddValue("ChatToUserID", P_ChatToUserID); 
				info.AddValue("Message", P_Message); 
				info.AddValue("Chats", P_Chats); 
				info.AddValue("ToChannelId", P_ToChannelId); 
				info.AddValue("SubChild1", P_SubChild1); 
				info.AddValue("NodeValue", NodeValue); 
			}



			[DataMember ]public  System.String  P_ChatToUserID  ;

			[DataMember ]public  System.String  P_Message  ;

			///<summary>
			///no comment
			///</summary>
			[DataMember ]public  List<int>  P_Chats  ;

			[DataMember ]public  System.String  P_ToChannelId  ;

			[DataMember ]public  SubChild  P_SubChild1  ;


			///<summary>
			///节点属性 前面不需要加 P_
			///</summary>
			public object this[string AttributeName] 
			{ 
			get{ 
				if (AttributeName=="ChatToUserID") return P_ChatToUserID ; 
				if (AttributeName=="Message") return P_Message ; 
				if (AttributeName=="Chats") return P_Chats ; 
				if (AttributeName=="ToChannelId") return P_ToChannelId ; 
				if (AttributeName=="SubChild1") return P_SubChild1 ; 
				return null;
				}
			}

			
			static readonly String[] _PropertyNames=new String[] { "ChatToUserID","Message","Chats","ToChannelId","SubChild1"};

			///<summary>
			///属性名列表
			///</summary>
			public string[] PropertyNames {get {return _PropertyNames; }} 

		}



 

}
